package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户-课程参与记录对象 user_course_records
 * 
 * @author zrj
 * @date 2025-07-14
 */
public class UserCourseRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    private Long recordId;

    /** 用户id（关联用户表） */
    @Excel(name = "用户id", readConverterExp = "关=联用户表")
    private Long userId;

    /** 课程id（关联课程表） */
    @Excel(name = "课程id", readConverterExp = "关=联课程表")
    private Long courseId;

    /** 学习进度百分比 */
    @Excel(name = "学习进度百分比")
    private Long progress;

    /** 学习时间 */
    @Excel(name = "学习时间")
    private Long learnTime;

    /** 是否完成：0=未完成, 1=已完成 */
    @Excel(name = "是否完成：0=未完成, 1=已完成")
    private Integer isCompleted;

    /** 课程评分 */
    @Excel(name = "课程评分")
    private Long courseScore;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setProgress(Long progress) 
    {
        this.progress = progress;
    }

    public Long getProgress() 
    {
        return progress;
    }
    public void setLearnTime(Long learnTime) 
    {
        this.learnTime = learnTime;
    }

    public Long getLearnTime() 
    {
        return learnTime;
    }
    public void setIsCompleted(Integer isCompleted) 
    {
        this.isCompleted = isCompleted;
    }

    public Integer getIsCompleted() 
    {
        return isCompleted;
    }
    public void setCourseScore(Long courseScore) 
    {
        this.courseScore = courseScore;
    }

    public Long getCourseScore() 
    {
        return courseScore;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("userId", getUserId())
            .append("courseId", getCourseId())
            .append("progress", getProgress())
            .append("learnTime", getLearnTime())
            .append("isCompleted", getIsCompleted())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("courseScore", getCourseScore())
            .toString();
    }
}
